#ifndef SHOOTER_H
#define SHOOTER_H
#include "Commands/Subsystem.h"
#include "WPILib.h"

/**
 *
 *
 * @author team308
 */
class Shooter: public Subsystem {
private:
	// It's desirable that everything possible under private except
	// for methods that implement subsystem capabilities
public:
	Shooter();
	Notifier *flipperExtendN;
	Notifier *flipperRetractN;
	Notifier *flipperPulseN;
	Solenoid flipper;
	Timer flipperTimer;
	
	bool isOut;
//	Solenoid flipperBack;
	Victor shooterVictor;
	enum ShooterMode {
		kIdle,
		kFire
	};
	enum FlipperMode {
		kOn,
		kOff
	};
	static void ExtendFlipper(void*);
	static void RetractFlipper(void*);
	static void StaticPulse(void*);
	void Pulse();
	void PeriodicUpdate();
	void InitDefaultCommand();
	void SetShooterMode(ShooterMode Mode);
	void SetFlipperMode(FlipperMode Mode);
};

#endif
